The testing of network equipment can include measuring how accurately the equipment can place data on a physical link and send the data to other network equipment over the link. Such measurement is often referred to as a link or component quality measurement, as it measures the quality of the physical link and the components used to transmit and receive data over the link. Examples of link components for which it may be desirable to evaluate quality include serializer/deserializers (SerDes), retimers, or other components used to place bits on a link or receive bits from a link
One way in which link or component quality is measured is by counting the number of bit errors that occur over a given amount of time or per quantity of received data. If no error correcting codes are used on a link, measuring link or component quality based on bit errors is a relatively simple task. The sending network equipment sends data over the link, and the receiving network equipment counts the number of bit errors in the received data as a measurement of link or component quality.
Error correcting codes, and in particular, forward error correcting codes, are used by transmitting and receiving network equipment to correct bit errors before the received data is processed by the receiving network equipment. In some FEC codes, parity symbols or check symbols are inserted in transmitted data, and the receiving network equipment uses the parity symbols to correct symbol errors in the received data, where each symbol is a specified number of bits. FEC has become essential in high speed networks, such as 100 gigabit Ethernet networks, to reduce the effects of bit errors on transmitted data and to decrease the cost of transmitting and receiving network equipment. For example, if FEC can correct bit errors in received data, lower-cost components can be used to transmit and receive the data, since the transmission and reception of the data do not need to be completely free of bit errors.
Given the wide use of FEC in current networks, it is desirable to evaluate link or component quality in the presence of FEC. However, evaluating link or component quality in the presence of FEC can be difficult because FEC corrects the underlying bit errors, covering up potential problems with link or component quality.
FEC decoders, such as Reed Solomon FEC decoders, correct bit errors by correcting symbols. Collections of symbols are referred to as codewords. A FEC decoder can correct codewords as long as the number of symbol errors does not exceed a fixed number of codeword errors in the symbol. When the number of codeword errors exceeds the threshold, the codeword is uncorrectable, as it cannot be corrected by the FEC decoder at the receiver. Uncorrectable codeword errors are undesirable because the underlying data is lost.
Link or component quality can be tested by transmitting pseudo-random bit sequences (PRBSs) over the link, counting symbol errors remaining after FEC, and determining whether uncorrectable codeword errors have occurred. However, because the bit error rates are low in the presence of FECs, uncorrectable codeword errors may rarely occur, i.e., on the order of days or even weeks per uncorrectable codeword error. Requiring days or weeks to test link or component quality is undesirable due to the time and labor involved.
In light of these difficulties, there exists a need for improved methods, systems, and computer readable media for evaluating link or component quality.